home *** CD-ROM | disk | FTP | other *** search
-
-
- Update to BASWIND2
-
-
- In this file you will find corrected versions of the modules in BASWIND2.ARC,
- including:
-
- MAKEWIND
- NEWSCRN (SAVESCRN and RESTSCRN)
- SCROLL
- FASTPRT
-
- As you perhaps may have discovered, there were some serious and not-so-serious
- bugs in this original distribution package. My thanks to everyone who helped
- me track down and solve the problems with this initial package.
-
- CHANGES IN THIS RELEASE
-
- Module NEWSCRN:
-
- This module had the most serious problem - it would not work correctly with
- monochrome or Hercules cards. Blame this on me - I don't have a monochrome
- card so I never tested it. However, this version HAS been tested on a mono
- monitor and has been verified to work. As part of the fix, the names of the
- called procedures have been changed for SCRNSAVE and SCRNREST to SAVESCRN
- and RESTSCRN. This will insure that you don't inadvertently get the old
- versions linked into your corrected programs. Also, as shown in the new doc-
- umentation file included in this release, the calling convention is somewhat
- different. Now there are two integers to be passed in the CALL: the first
- tells the routine whether to test retrace status when using a color monitor
- to prevent snow, and the second passes the location of the first element in
- the array obtained by the VARPTR function. A typical call would be as follows:
-
- 10 DIM SCRNDATA%(2000):'4000 bytes, holds one screen
- .
- .
- .
- .
-
- 80 NOTEST%=0
- 90 FIRST%=VARPTR(SCRNDATA%(0))
- 100 CALL SAVESCRN(NOTEST%,FIRST%)
-
- The NOTEST% parameter is used primarily for the IBM CGA adapter. When you set
- this variable to 0, testing is forced; which will eliminate snow on the screen
- but will also slow down operation somewhat. Non-IBM color cards and the EGA do
- not require this testing, so if you set the variable to 1, testing will be
- bypassed and the screen writes will be as fast as possible. Regardless of the
- value of this variable, a monochrome system will be automatically detected and
- testing will be defeated since it is not required.
-
-
- Module MAKEWIND:
-
- There have been no changes to this module; however, I have found that when the
- routine is compiled, it requires the /D switch on the compiler to generate
- error-checking code in order to work correctly. I discovered that when the /D
- option was omitted, when a 'growing' window was requested, the growing effect
- was not properly executed. Instead of growing from the center outward, it in-
- stead grew from the right-hand side to the left! I still don't know what is
- causing this, so for this reason I am including in this release the source
- code to this and the SCROLL modules so that you BASIC jocks that are more
- knowledgeable than I am can see what is going on and perhaps find the culprit.
- Adding the /D switch makes the size of the module considerably larger; so there
- is some benefit to leaving it off if the problem can be corrected. If anyone
- finds out what the problem is, please post me a message on Compuserve (ID #
- 72456,2325) or GEnie (Address: D.EVERS) and I'll spread the word around.
-
- Module SCROLL:
-
- No changes in this release.
-
- Module USERLIB2:
-
- This is an addition to this release of BASWIND. In the first release, I decided
- not to distribute a User Library form of these routines because of the fact that
- they required the presence of the USERLIB module distributed with QuickBASIC.
- Since I assume this module is copywrited by Microsoft, I chose to let the
- user create his own User Library at his end using his copy of USERLIB. However,
- a problem arose in that because of the fact that the MAKEWIND module was com-
- piled using the /D switch, it included some code linked in from the BRUN20.LIB
- module which made reference to the module ABSOLUTE. The problem was that
- USERLIB.OBJ also includes a module ABSOLUTE, which resulted in a Duplicate
- Module Name error occuring during the BUILDLIB procedure. As far as I was able
- to determine, this error was more of a warning nature than a severe one, as I
- simply ignored it and used the library anyway. (By the way, there are no calls
- to the module ABSOLUTE anywhere in BASWIND). However, this proved to be dis-
- turbing to many people (and rightly so); so I have taken a step of questionable
- legality by including in this package a module USERLIB2; which is the Quick-
- BASIC USERLIB.ASM edited to remove the ABSOLUTE procedure and reassembled. I
- don't really believe this presents much of an infringement problem; since
- everyone who buys QuickBASIC gets a copy of USERLIB and it is of no use to
- anyone without QuickBASIC. Anyway, using this USERLIB2 module instead of the
- original USERLIB will correct once and for all the Duplicate Module Name
- problem.
-
-
- I sincerely apologize for any inconvenience these problems might have caused
- anyone using BASWIND2; and I hope that these corrected programs solve any
- problems you might have. If not, please do not hesitate to leave me a note
- on Compuserve or GEnie; or to drop me a line at my home address given in the
- documentation file.
-
-
-
- Thank you for your support,
-
-
- Dave Evers
-
-